##EXERCCIO 3##

#1
##Distncia entre cidades

cidades =c("Atenas", "Madri","Paris", "Estocolmo")
dist=c(NA,NA,NA,NA,3947,NA,NA,NA,3000,1273,NA,NA,3927,3188,1827,NA)
mt.cid=matrix(dist,4,4,byrow = TRUE)
mt.cid# verficando
colnames(mt.cid)=cidades#mudar nome de colunas
rownames(mt.cid)=cidades# mudar nome de linhas
mt.cid

# Comparando com eurodist
search() # comando para procurar os pacotes existentes
eurodist
str(eurodist)   
str(mt.cid)# eurodist  maior
class(eurodist)
class(mt.cid)# eurodist  uma matriz de distancia e a que criei  apenas uma matriz

#2
###Criao de um data frame
#18 valores ao todo = 18 linhas
help(rep)#rep.int(x, times)
cor = c(rep("claros", 9),( rep("escuros", 9)))#9 claros e 9 escuros
cor
class(cor)
#outra forma de fazer rep
dieta=rep(c("A","B","C"),time=2, each=3)
dieta
class(dieta)
ind=c(paste("indiv",1:18))
ind
peso=c(0.1 , 1.1 , 3.7,  5.7, -1.2, -1.5,  3.0, -0.4, 0.6,1.5, -0.1, 2.0,  0.6, -3.0, -0.3,  -0.2, 0.3, 1.5)
peso
help(data.frame)#data.frame(..., row.names = NULL, check.rows = FALSE,check.names = TRUE,stringsAsFactors = default.stringsAsFactors())
conj.dados=data.frame(ind,cor,dieta,peso,row.names="ind")
conj.dados #data frame feito !

#Mdia
help(tapply)#tapply(objeto, indice,funo, ...)
conj.dados
str(conj.dados)
peso.dieta = tapply(peso,dieta,mean)#mdia de pesos para cada
peso.dieta
peso.fen=tapply(peso,cor,mean)#mdia de pesos pra cada cor
peso.fen

#3
#Criando uma Matriz
help(rnorm)
norm=rnorm(15, mean = 10, sd = 3.6)#objeto que ir sortear 15 valores dentro da dist normal
norm
class(norm)
help(matrix)#vendo argumentos # transformando em matriz
minha.ma=matrix(norm,3,5)
minha.ma
minha.ma=matrix(norm,3,5)
minha.ma
class(minha.ma)

# Nomeando linhas e colunas
rownames(minha.ma)=paste("L",1:3)
colnames(minha.ma)=paste("C",1:5)
minha.ma #matriz com nomes incluidos

#mdia e a varincia por colunas e depois por linhas
minha.ma
args(apply)#para embrar- margin 1  linha, 2  coluna e c(1,2)  linha e coluna

linha.med=apply(minha.ma,MARGIN=1col.med=apply(minha.ma,MARGIN=2,mean,mean)
linha.med
linha.var=apply(minha.ma,MARGIN=1,var)
linha.var
col.med=apply(minha.ma,MARGIN=2,mean)
col.med
col.var=apply(minha.ma,MARGIN=2,var)
col.var
args(data.frame)
data.final=c(data.frame(col.med,col.var),(data.frame(linha.med,linha.var)))
data.final
class(data.final)

#4
#Lendo e Salvando seus dados
caix=choose.files()
caix
caix.dados=read.table(caix,header=TRUE, sep=",",as.is=TRUE)
caix.dados
class(dados.fl)#vendo classe do objeto criado
str(caix.dados)
summary(dados.fl)#sumrio
caix.cap

# segunda parte
help(write.table)
args(write.table)
head(caix.dados)
write.table(list(caix.dados[ ,4:5]),file="C:\\Users\\User\\Desktop\\caixeta.txt",sep="\t", row.names=FALSE)
#Salvei um novo arquivo chamado caixeta em formato txt, separado por tabulao e sem nome de linhas



#Classes de Objetos
class(iris)
class(iris3)

args(tapply)#function (X, INDEX, FUN = NULL, ..., simplify = TRUE) 
tapply(iris,(,1,FUN=mean)
str(iris)
head(iris)
# mdias
s.l=tapply(iris[,1],iris$Species,mean)
s.w=tapply(iris[,2],iris$Species,mean)
p.l=tapply(iris[,3],iris$Species,mean)
p.w=tapply(iris[,4],iris$Species,mean)
s.l
p.w
p.w
s.w

#mudar nomes
names(iris)
nomes=names(iris)=c("s.quant", "s.dist","p.quant","p.dist","espcies") #guardar o resultado da funo de names(iris) em "nomes"
nomes
head(iris)

#Acrescentando Dados de Sntese
args(read.table)
esa=(file.choose())#procurando arquivo
dados.esa=read.table(esa,header=TRUE, sep=",",as.is=TRUE)#atribuindo a um objeto
summary(dados.esa)#verificando contedo
str(dados.esa)
names(dados.esa)
head(dados.esa)
soma.biom= tapply(dados.esa[,9],dados.esa$total,sum)
nomes=names(dados.esa)=c("arvore", "classe", "talhao", "dap" ,   "ht" ,  "tronco", "sobra" , "folha","total","soma biomassa" )

#Acrescentando Dados de Sntese
esa=file.choose()
args(read.table)
e.salina=read.table(esa,header=TRUE,sep=",",as.is=TRUE,dec=".")#no esquecer de colocar a separao do decimal !!! 
str(e.salina)#verificando estrutura
head(e.salina)#aparentemente tudo certo !vamos continuar !
summary(e.salina)#verificando contedo de e.salina
class(e.salina)


#acrescentando um coluna
#soma da biomassa[

e.salina$biom.soma = e.salina$folha + e.salina$tronco #somando e acrescentando
e.salina


#area basal
head(e.salina)
e.salina$a.basal=(e.salina$dap^2)*(pi/4)
e.salina

# media por talhao
head(e.salina)
med.basal=mean(e.salina$talhao)
med.basal

#selecionar arvores maiores que 10 cm de diametro
head(e.salina)
arv=e.salina$talhao>10
arv

# salvando
write.table(arv, file="seleo do diametro.txt", sep="\t", row.names=FALSE)